package v1

import (
	"gf_blog_admin/internal/model"
	"github.com/gogf/gf/v2/frame/g"
)

type AccountInfoReq struct {
	g.Meta `path:"/account/info" method:"get" tags:"account" sm:"用户信息" noCan:"true"`
}

type AccountInfoRes struct {
	*model.AccountInfoItem
}

type AccountInfoUpdateReq struct {
	g.Meta `path:"/account/info/update" method:"put" tags:"account" sm:"用户信息修改" noCan:"true"`
	model.AccountInfoUpdateInput
}

type AccountInfoUpdateRes struct{}

type AccountAvatarUpdateReq struct {
	g.Meta `path:"/account/avatar/update" method:"put" tags:"account" sm:"用户头像修改" noCan:"true"`
	Avatar string `json:"avatar" v:"required" dc:"头像"`
}

type AccountAvatarUpdateRes struct{}

type AccountResetPwdReq struct {
	g.Meta `path:"/account/reset_pwd" method:"put" tags:"account" sm:"用户密码修改" noCan:"true"`
	model.AccountResetPwdInput
}

type AccountResetPwdRes struct{}

type AccountOpLogsReq struct {
	g.Meta `path:"/account/op_logs" method:"get" tags:"account" sm:"用户操作日志" noCan:"true"`
	model.AccountOpLogsInput
}

type AccountOpLogsRes struct {
	Total int                        `json:"total"`
	Rows  []*model.AccountOpLogsItem `json:"rows"`
}

type AccountLoginLogReq struct {
	g.Meta `path:"/account/login_logs" method:"get" tags:"account" sm:"用户登录日志" noCan:"true"`
	model.AccountLoginLogsInput
}

type AccountLoginLogRes struct {
	Total int                           `json:"total"`
	Rows  []*model.AccountLoginLogsItem `json:"rows"`
}

type AccountMenusReq struct {
	g.Meta `path:"/account/sys_menus" method:"get" tags:"account" sm:"用户菜单/权限" noCan:"true"`
}

type AccountMenusRes struct {
	*model.SysMenuOutput
}
